// mappVision Version
#define MAPP_VISION_VER		5	

// CameraStatus
#define CAMERA_READY						0x00000000
#define IMAGEACQUISITION_ACTIVE 			0x00000001
#define IMAGEACQUISITION_WAIT				0x00000002
#define IMAGEACQUISITION_TRANSFER			0x00000004
#define IMAGEBUFFERS_FULL					0x00000008
#define SEARCHACQUISITIONSETTINGS_ACTIVE	0x00000010
#define NEWCONFIGURATION_PENDING			0x00000020
#define RESETACQUISITION_PENDING			0x00000040
#define FOCUS_BUSY							0x00000080
#define IRFILTER_BUSY						0x00000100
#define GAINLEVEL_BUSY						0x00000200
#define PREVIEW_MODE_ACTIVE					0x00000400
#define CPU_NOT_READY						0x00000800
#define IMAGESENSOR_NOT_READY				0x00001000
#define OVERTEMPERATURE_PENDING				0x00002000
#define OS_CHECK_AND_UPDATE					0x01000000
#define VA_LOADING							0x02000000
#define MAPPVISION_HMI_ACTIVE				0x08000000

// Camera SDO List		
// Example: 0x20100001 0x2010=Index 0001=SubIndex
#define VISDO_TRIGSOURCE					0x20100003
#define VISDO_DELAYTYPE						0x20100004	
#define VISDO_FLIP_HORIZONTAL				0x20100005
#define VISDO_FLIP_VERTICAL					0x20100006
#define VISDO_BINNING						0x20100007
#define VISDO_SUBSAMPLING					0x20100008
#define VISDO_IMAGE_WIDTH					0x20100009		
#define VISDO_IMAGE_HEIGHT					0x2010000A
#define VISDO_IMAGE_OFFSETX					0x2010000B
#define VISDO_IMAGE_OFFSETY					0x2010000C
#define VISDO_LINESCAN						0x20100010
#define VISDO_LINESCAN_SAMPLE				0x20100011
#define VISDO_LINESCAN_PERIOD				0x20100012
#define VISDO_FILTERUSAGE					0x20100013
#define VISDO_FILTER1_BASE					0x20100014
#define VISDO_FILTER2_BASE					0x2010001E

// Image Format
#define IMAGE_JPG	0
#define IMAGE_BMP	1
#define IMAGE_SVG	2

// Flash Color
#define FC_OFF   	0
#define FC_RED   	1	//625nm
#define FC_GREEN 	2	//525nm
#define FC_BLUE  	3	//470nm
#define FC_LIME  	4	//568nm
#define FC_WHITE	99	//
#define FC_IR		100	//850nm
#define FC_UV		210	//480nm

// Flash Segement
#define FS_RIGHT 	1
#define FS_TOP 		2
#define FS_LEFT		4
#define FS_BOTTOM	8
#define FS_ALL		15

// Status LED
#define LED_SYSTEM	0
#define LED_OFF		1
#define LED_RED		2
#define LED_GREEN	3
#define LED_BLUE	4

// Timeout for Camera bugs
#define TIMEOUT_LOAD_APP			60000000	// 1min
#define TIMEOUT_ACQUISITION			5000000	// 5s
#define TIMEOUT_PROCESSING			30000000	// 30s

// Error States
#define VI_ERR_NOT_READY			1
#define VI_ERR_ACQ_CNT				2
#define VI_ERR_ACQ_TOUT				3
#define VI_ERR_PROCESS_TOUT			4
#define VI_ERR_WRITE_SDO			11
#define VI_ERR_READ_SDO				12
#define VI_ERR_GET_IMAGE			21
